<?php

namespace Application\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Emprestimo
 *
 * @ORM\Table(name="emprestimo")
 * @ORM\Entity
 */
class Emprestimo
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id_emprestimo", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="SEQUENCE")
     * @ORM\SequenceGenerator(sequenceName="emprestimo_id_emprestimo_seq", allocationSize=1, initialValue=1)
     */
    private $idEmprestimo;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="dt_emprestimo", type="date", nullable=false)
     */
    private $dtEmprestimo;

    /**
     * @var boolean
     *
     * @ORM\Column(name="st_ativo", type="boolean", nullable=false)
     */
    private $stAtivo;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="dt_devolucao", type="date", nullable=true)
     */
    private $dtDevolucao;

    /**
     * @var \Application\Entity\Livro
     *
     * @ORM\ManyToOne(targetEntity="Application\Entity\Livro")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="id_livro", referencedColumnName="id_livro")
     * })
     */
    private $idLivro;

    /**
     * @var \Application\Entity\Midia
     *
     * @ORM\ManyToOne(targetEntity="Application\Entity\Midia")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="id_midia", referencedColumnName="id_midia")
     * })
     */
    private $idMidia;

    /**
     * @var \Application\Entity\PessoaFisica
     *
     * @ORM\ManyToOne(targetEntity="Application\Entity\PessoaFisica")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="id_pessoa_fisica", referencedColumnName="id_pessoa_fisica")
     * })
     */
    private $idPessoaFisica;

    /**
     * @var \Application\Entity\Usuario
     *
     * @ORM\ManyToOne(targetEntity="Application\Entity\Usuario")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="id_usuario", referencedColumnName="id_usuario")
     * })
     */
    private $idUsuario;



    /**
     * Get idEmprestimo
     *
     * @return integer 
     */
    public function getIdEmprestimo()
    {
        return $this->idEmprestimo;
    }

    /**
     * Set dtEmprestimo
     *
     * @param \DateTime $dtEmprestimo
     * @return Emprestimo
     */
    public function setDtEmprestimo($dtEmprestimo)
    {
        $this->dtEmprestimo = $dtEmprestimo;
    
        return $this;
    }

    /**
     * Get dtEmprestimo
     *
     * @return \DateTime 
     */
    public function getDtEmprestimo()
    {
        return $this->dtEmprestimo;
    }

    /**
     * Set stAtivo
     *
     * @param boolean $stAtivo
     * @return Emprestimo
     */
    public function setStAtivo($stAtivo)
    {
        $this->stAtivo = $stAtivo;
    
        return $this;
    }

    /**
     * Get stAtivo
     *
     * @return boolean 
     */
    public function getStAtivo()
    {
        return $this->stAtivo;
    }

    /**
     * Set dtDevolucao
     *
     * @param \DateTime $dtDevolucao
     * @return Emprestimo
     */
    public function setDtDevolucao($dtDevolucao)
    {
        $this->dtDevolucao = $dtDevolucao;
    
        return $this;
    }

    /**
     * Get dtDevolucao
     *
     * @return \DateTime 
     */
    public function getDtDevolucao()
    {
        return $this->dtDevolucao;
    }

    /**
     * Set idLivro
     *
     * @param \Application\Entity\Livro $idLivro
     * @return Emprestimo
     */
    public function setIdLivro(\Application\Entity\Livro $idLivro = null)
    {
        $this->idLivro = $idLivro;
    
        return $this;
    }

    /**
     * Get idLivro
     *
     * @return \Application\Entity\Livro 
     */
    public function getIdLivro()
    {
        return $this->idLivro;
    }

    /**
     * Set idMidia
     *
     * @param \Application\Entity\Midia $idMidia
     * @return Emprestimo
     */
    public function setIdMidia(\Application\Entity\Midia $idMidia = null)
    {
        $this->idMidia = $idMidia;
    
        return $this;
    }

    /**
     * Get idMidia
     *
     * @return \Application\Entity\Midia 
     */
    public function getIdMidia()
    {
        return $this->idMidia;
    }

    /**
     * Set idPessoaFisica
     *
     * @param \Application\Entity\PessoaFisica $idPessoaFisica
     * @return Emprestimo
     */
    public function setIdPessoaFisica(\Application\Entity\PessoaFisica $idPessoaFisica = null)
    {
        $this->idPessoaFisica = $idPessoaFisica;
    
        return $this;
    }

    /**
     * Get idPessoaFisica
     *
     * @return \Application\Entity\PessoaFisica 
     */
    public function getIdPessoaFisica()
    {
        return $this->idPessoaFisica;
    }

    /**
     * Set idUsuario
     *
     * @param \Application\Entity\Usuario $idUsuario
     * @return Emprestimo
     */
    public function setIdUsuario(\Application\Entity\Usuario $idUsuario = null)
    {
        $this->idUsuario = $idUsuario;
    
        return $this;
    }

    /**
     * Get idUsuario
     *
     * @return \Application\Entity\Usuario 
     */
    public function getIdUsuario()
    {
        return $this->idUsuario;
    }
}